:Base kd_hlp.hlp 1 COPYRIGHT 2 COPYRIGHT=topic0 1 Overview 2 Overview=topic1 2 Introduction=topic2 2 Device Driver Overview 3 Device Driver Overview=topic3 3 Monolithic Drivers=topic4 3 Windows 95/98/ME Drivers=topic6 3 NT Driver Model 4 NT Driver Model=topic7 4 Layered Drivers=topic8 4 Miniport Drivers=topic10 3 Unix Device Drivers 4 Unix Device Drivers=topic12 3 Linux Device Drivers 4 Linux Device Drivers=topic13 3 Solaris Device Drivers 4 Solaris Device Drivers=topic14 2 Matching the right tool for your driver 3 Matching the right tool for your driver=topic15 2 How does KernelDriver make it easy? 3 How does KernelDriver make it easy?=topic16 2 What is included in the package? 3 What is included in the package?=topic17 2 Before you begin 3 Before you begin=topic18 1 Installing KernelDriver 2 Installing KernelDriver=topic19 2 System Requirements 3 System Requirements=topic20 3 Windows=topic21 3 Linux=topic22 2 Installing KernelDriver 3 Installing KernelDriver=topic23 3 Installing KernelDriver On Windows 95/98/ME/NT/2000=topic24 3 Installing KernelDriver on Linux 4 Installing KernelDriver on Linux=topic25 4 Restricting hardware access via /dev/windrvr=topic26 2 Testing the installation 3 Testing the installation=topic27 3 Testing the installation under Windows NT/2000=topic28 3 Testing the Installation under Windows 95/98/ME=topic29 3 Troubleshooting on Windows=topic30 3 Testing the installation under Linux=topic31 3 Troubleshooting on Linux=topic32 2 How do I uninstall KernelDriver? 3 How do I uninstall KernelDriver?=topic33 3 Uninstalling KernelDriver from Windows 95/98/ME/NT/2000=topic34 3 Uninstalling KernelDriver from Linux=topic35 1 KernelDriver development process 2 KernelDriver development process =topic36 2 Developing a driver: DriverWizard vs. Samples 3 Developing a driver: DriverWizard vs. Samples=topic37 3 Using DriverWizard to create your driver=topic38 3 Using a Sample to create your driver 4 Using a Sample to create your driver=topic39 4 List of KernelDriver samples=topic40 2 How to Write a Driver from Scratch 3 How to Write a Driver from Scratch=topic41 3 Writing a Windows NT Model Driver 4 Writing a Windows NT Model Driver=topic42 4 Directory Structure=topic43 4 Writing the Driver=topic44 3 Writing drivers for other operating systems 4 Writing drivers for other operating systems=topic45 4 Example on WinDriver API access from kernel mode=topic46 3 Writing a Windows NT Model driver without using WinDriver 4 Writing a Windows NT Model driver without using WinDriver=topic47 2 Building Your Driver 3 Building Your Driver=topic48 3 Compile the Driver 4 Compile the Driver=topic49 4 Compiling under Windows=topic50 4 Compiling under Linux =topic51 3 Installing, Loading and Registering Your Driver 4 Installing, Loading and Registering Your Driver=topic52 4 Installing under Windows=topic53 4 Installing under Linux =topic54 3 Running Your Driver 4 Running Your Driver=topic55 4 Running Your Driver under Windows=topic56 4 Running Your Driver under Linux=topic57 2 WDREG - Dynamically loading and unloading your driver 3 WDREG - Dynamically loading and unloading your driver=topic58 3 Usage under Windows=topic59 3 Usage under Linux=topic60 3 Using WDREG from within your application 4 Using WDREG from within your application=topic61 4 Under Windows=topic62 4 Under Linux=topic63 2 KernelDriver USB 3 KernelDriver USB=topic64 3 Introduction=topic65 3 Advantages=topic66 3 Building a Kernel Mode USB Driver=topic67 3 =topic68 1 The DriverWizard 2 The DriverWizard =topic69 2 DriverWizard - An Overview=topic70 2 DriverWizard Walkthrough=topic71 2 DriverWizard Notes 3 DriverWizard Notes=topic79 3 Sharing a Resource=topic80 3 Disabling a Resource=topic81 3 DriverWizard Logger=topic82 3 Automatic Code Generation=topic83 1 KernelDriver Class Model 2 KernelDriver Class Model =topic84 2 Overview 3 Overview=topic85 3 Driver Vs. Device=topic86 2 Where it all begins - The DriverEntry() Function 3 Where it all begins - The DriverEntry() Function=topic87 3 Loading the driver=topic88 2 Communicating with Drivers - IRPs and IOCTLs 3 Communicating with Drivers - IRPs and IOCTLs=topic89 2 Classes in brief 3 Classes in brief=topic90 3 Basic Classes 4 Basic Classes=topic91 4 Class KdDriver =topic92 4 Class KdDevice =topic93 4 Class KdIrp =topic94 3 Classes for Accessing Device Memory 4 Classes for Accessing Device Memory=topic95 4 Class KdBusAddress =topic96 4 Class KdMapProcess =topic97 3 Classes for Handling Interrupts 4 Classes for Handling Interrupts=topic98 4 Class KdDpc =topic99 4 Class KdIrq =topic100 3 Classes for Registry and Resource Reporting 4 Classes for Registry and Resource Reporting=topic101 4 Class KdRegistry =topic102 4 Class KdResources =topic103 3 Classes for Synchronization 4 Classes for Synchronization=topic104 4 Class KdSyncObject =topic105 4 Class KdSpinLock =topic106 4 Class KdEvent =topic107 4 Class KdMutex =topic108 4 Class KdSemaphore =topic109 4 Class KdTimer =topic110 4 Class KdTimedCallback =topic111 3 Utility Classes 4 Utility Classes=topic112 4 Class KdMem =topic113 4 Class KdString =topic114 4 Class KdFile =topic115 4 Class KdList =topic116 4 Class KdIrpList =topic117 4 Class KdFifo =topic118 4 Class KdPhysAddr =topic119 3 Classes for Layered Drivers 4 Classes for Layered Drivers=topic120 4 Class KdLowerDevice=topic121 4 Class KdFilterDevice=topic122 3 Classes for NDIS Drivers 4 Classes for NDIS Drivers=topic123 4 Class KdNdisMiniport=topic124 4 Class KdNdisAdapter=topic125 1 Elements of a basic driver 2 Elements of a basic driver=topic126 2 KdDriver, KdDevice and KdIrp 3 KdDriver, KdDevice and KdIrp=topic127 3 Class KdDriver - The Driver Class 4 Class KdDriver - The Driver Class=topic129 4 Description=topic130 4 Initialization=topic131 4 Handling IRPs=topic132 3 Class KdDevice - The Device Class 4 Class KdDevice - The Device Class=topic133 4 Description=topic134 4 Symbolic links=topic135 3 Class KdIrp - The I/O Request Packet 4 Class KdIrp - The I/O Request Packet=topic136 4 Description=topic137 3 Calling the driver from an application 4 Calling the driver from an application=topic138 3 Communication between devices 4 Communication between devices=topic140 3 Quick Sample ... How to create a simple driver 4 Quick Sample ... How to create a simple driver=topic141 1 Classes for Accessing Device Memory 2 Classes for Accessing Device Memory =topic142 2 Plug-n-Play=topic144 2 I/O space Vs. Memory space=topic145 2 Class KdBusAddress 3 Class KdBusAddress=topic146 3 Description=topic147 2 Class KdMapKernel 3 Class KdMapKernel=topic148 3 Description=topic149 2 Class KdMapProcess 3 Class KdMapProcess=topic150 3 Description=topic151 2 Quick Sample ... How to Map and Report Bus Addresses 3 Quick Sample ... How to Map and Report Bus Addresses=topic152 3 Sample #1: Map local memory=topic153 3 Sample #2: Map I/O space.=topic154 1 Classes for Handling Interrupts 2 Classes for Handling Interrupts=topic155 2 Interrupt Handling=topic156 2 Implementing an Interrupt =topic158 2 Class KdIrq 3 Class KdIrq=topic159 3 Description=topic160 2 Class KdDpc 3 Class KdDpc=topic161 3 Description=topic162 2 Quick Sample ... How to Handle Interrupts 3 Quick Sample ... How to Handle Interrupts=topic163 1 Classes for Registry and Resource Reporting 2 Classes for Registry and Resource Reporting=topic164 2 Windows NT Registry=topic165 2 Class KdRegistry 3 Class KdRegistry=topic166 3 Description=topic167 3 Sample=topic168 2 Class KdResources 3 Class KdResources=topic169 3 Description=topic170 2 Quick Sample ... How to Read and Register Resources 3 Quick Sample ... How to Read and Register Resources=topic171 1 Classes for Synchronization 2 Classes for Synchronization=topic172 2 Class KdSyncObject 3 Class KdSyncObject=topic173 3 Description=topic174 2 Class KdEvent 3 Class KdEvent=topic175 3 Description=topic176 2 Class KdSpinLock 3 Class KdSpinLock=topic177 3 Description=topic178 3 Sample=topic179 2 Class KdMutex 3 Class KdMutex=topic180 3 Description=topic181 2 Class KdSemaphore 3 Class KdSemaphore=topic182 3 Description=topic183 2 Class KdTimer 3 Class KdTimer=topic184 3 Description=topic185 2 Class KdTimedCallback 3 Class KdTimedCallback=topic186 3 Description=topic187 2 Class KdThread 3 Class KdThread=topic188 3 Description=topic189 1 Utility Classes 2 Utility Classes=topic190 2 Class KdString 3 Class KdString=topic191 3 Description=topic192 3 Sample=topic193 2 Class KdList 3 Class KdList=topic194 3 Description=topic195 3 Sample=topic196 2 Class KdIrpList 3 Class KdIrpList=topic197 3 Description=topic198 3 Sample=topic199 2 Class KdFifo 3 Class KdFifo=topic200 3 Description=topic201 2 Class KdFile 3 Class KdFile=topic202 3 Description=topic203 3 Sample=topic204 2 Class KdPhysAddr 3 Class KdPhysAddr=topic205 3 Description=topic206 2 Class KdMem 3 Class KdMem=topic207 3 Description=topic208 2 DebugDump utility 3 DebugDump utility=topic209 3 Description=topic210 3 Sample=topic211 2 Memory Compare Utilities 3 Memory Compare Utilities=topic212 3 Description=topic213 3 Sample=topic214 2 Memory Allocation Utilities 3 Memory Allocation Utilities=topic215 3 Description=topic216 3 Sample=topic217 1 Classes for Layered Drivers 2 Classes for Layered Drivers=topic218 2 Class KdFilterDevice 3 Class KdFilterDevice=topic220 3 Description=topic221 2 Class KdLowerDevice 3 Class KdLowerDevice=topic222 3 Description=topic223 1 Classes for NDIS Drivers 2 Classes for NDIS Drivers=topic224 2 Overview=topic225 2 The KdNdisMiniport class 3 The KdNdisMiniport class=topic228 3 Description=topic229 3 Initialization=topic230 3 Behind the scenes=topic231 2 The KdNdisAdapter class 3 The KdNdisAdapter class=topic232 3 Description=topic233 3 Initialization=topic234 2 The KdNdisConfiguration class 3 The KdNdisConfiguration class=topic235 3 Quick Sample ... NE2000 NDIS Miniport Driver=topic236 1 Debugging your driver 2 Debugging your driver=topic237 2 Overview=topic238 2 Using KernelTracer=topic239 2 KernelTracer - Graphical mode=topic241 2 KernelTracer - Console Mode=topic244 2 Using WinDbg 3 Using WinDbg =topic245 3 Overview=topic246 2 Establishing a WinDbg Debugging Session 3 Establishing a WinDbg Debugging Session=topic247 3 Connect the Host and Target Machines=topic248 3 On the Target Machine =topic249 3 On the Host Machine=topic250 2 WinDbg Command-Line Options 3 WinDbg Command-Line Options=topic251 3 Options=topic252 2 Debugging a Crash Dump 3 Debugging a Crash Dump=topic253 3 DUMPCHK Options=topic254 3 DUMPREF Options=topic255 3 Comments=topic256 1 KernelDriver Class Architecture 2 KernelDriver Class Architecture=topic257 2 Inheritance Chart=topic258 2 Dependency Chart=topic260 1 WinDriver Function Reference 2 WinDriver Function Reference =topic262 2 WD_Open()=topic263 2 WD_Close()=topic264 2 WD_Version()=topic265 2 WD_PciScanCards()=topic266 2 WD_PciGetCardInfo()=topic267 2 WD_PciConfigDump()=topic268 2 WD_PcmciaScanCards()=topic269 2 WD_PcmciaGetCardInfo()=topic270 2 WD_PcmciaConfigDump()=topic271 2 WD_IsapnpScanCards() =topic272 2 WD_IsapnpGetCardInfo()=topic273 2 WD_IsapnpConfigDump()=topic274 2 WD_CardRegister()=topic275 2 WD_CardUnregister()=topic276 2 WD_Transfer()=topic277 2 WD_MultiTransfer()=topic278 2 WD_IntEnable() =topic279 2 WD_IntDisable()=topic280 2 WD_IntWait()=topic281 2 WD_IntCount()=topic282 2 WD_DMALock()=topic283 2 WD_DMAUnlock()=topic284 2 WD_Sleep()=topic285 2 WD_UsbScanDevice()=topic286 2 WD_UsbGetConfiguration()=topic287 2 WD_UsbDeviceRegister()=topic288 2 WD_UsbDeviceUnregister()=topic289 2 WD_UsbTransfer()=topic290 2 WD_UsbResetPipe()=topic291 2 InterruptThreadEnable()=topic292 2 InterruptThreadDisable()=topic293 1 WinDriver Structure Reference 2 WinDriver Structure Reference =topic294 2 WD_TRANSFER =topic295 2 WD_DMA=topic296 2 WD_DMA_PAGE =topic297 2 WD_INTERRUPT=topic298 2 WD_VERSION=topic299 2 WD_CARD_REGISTER =topic300 2 WD_CARD=topic301 2 WD_ITEMS=topic302 2 WD_SLEEP =topic303 2 WD_PCI_SLOT =topic304 2 WD_PCI_ID =topic305 2 WD_PCI_SCAN_CARDS =topic306 2 WD_PCI_CARD_INFO =topic307 2 WD_PCI_CONFIG_DUMP=topic308 2 WD_ISAPNP_CARD_ID =topic309 2 WD_ISAPNP_CARD =topic310 2 WD_ISAPNP_SCAN_CARDS =topic311 2 WD_ISAPNP_CARD_INFO =topic312 2 WD_ISAPNP_CONFIG_DUMP=topic313 2 WD_PCMCIA_SLOT=topic314 2 WD_PCMCIA_ID =topic315 2 WD_PCMCIA_SCAN_CARDS =topic316 2 WD_PCMCIA_CARD_INFO =topic317 2 WD_ PCMCIA_CONFIG_DUMP =topic318 2 WD_USB_ID=topic319 2 WD_USB_PIPE_INFO=topic320 2 WD_USB_CONFIG_DESC=topic321 2 WD_USB_INTERFACE_DESC=topic322 2 WD_USB_ENDPOINT_DESC=topic323 2 WD_USB_INTERFACE=topic324 2 WD_USB_CONFIGURATION=topic325 2 WD_USB_HUB_GENERAL_INFO=topic326 2 WD_USB_DEVICE_GENERAL_INFO=topic327 2 WD_USB_DEVICE_INFO=topic328 2 WD_USB_SCAN_DEVICES=topic329 2 WD_USB_TRANSFER=topic330 2 WD_USB_DEVICE_REGISTER=topic331 2 WD_USB_RESET_PIPE=topic332 1 Version history list 2 Version history list=topic333 1 License Agreement 2 License Agreement=topic334 1 Technical Support 2 Technical Support=topic335 1 Using a Serial Cable for Kernel Debugging (Null Modem Serial Cable) 2 Using a Serial Cable for Kernel Debugging (Null Modem Serial Cable) =topic336 1 Other resources 2 Other resources=topic337